From a0b7d94cb63d36a5f4bc41540390edb16eb79e4a Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 2 Apr 2012 17:41:04 -0400 Subject: [PATCH] core: Fix a few memory leaks --- src/libostree/ostree-core.c | 4 ++-- src/libostree/ostree-repo.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libostree/ostree-core.c b/src/libostree/ostree-core.c index 7d6849a6..06897a2c 100644 --- a/src/libostree/ostree-core.c +++ b/src/libostree/ostree-core.c @@ -1289,6 +1289,7 @@ ostree_read_pack_entry_raw (guchar *pack_data, ret_entry = g_variant_new_from_data (OSTREE_PACK_FILE_CONTENT_VARIANT_FORMAT, pack_data+entry_start, entry_len, trusted, NULL, NULL); + g_variant_ref_sink (ret_entry); ret = TRUE; ot_transfer_out_value (out_entry, &ret_entry); out: @@ -1324,6 +1325,7 @@ ostree_read_pack_entry_as_stream (GVariant *pack_entry) "base-stream", memory_input, "close-base-stream", TRUE, NULL); + g_object_unref (memory_input); g_object_unref (decompressor); } else @@ -1355,8 +1357,6 @@ ostree_read_pack_entry_variant (GVariant *pack_entry, trusted, &container_variant, cancellable, error)) goto out; - g_variant_ref_sink (container_variant); - g_variant_get (container_variant, "(uv)", &actual_type, &ret_variant); actual_type = GUINT32_FROM_BE (actual_type); diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c index aeb7346b..8ea4bbda 100644 --- a/src/libostree/ostree-repo.c +++ b/src/libostree/ostree-repo.c @@ -3298,6 +3298,7 @@ ostree_repo_load_file (OstreeRepo *self, out: g_free (content_pack_checksum); g_clear_object (&ret_input); + g_clear_object (&content_loose_path); g_clear_object (&content_loose_info); g_clear_object (&ret_file_info); ot_clear_gvariant (&ret_xattrs); @@ -3371,9 +3372,8 @@ list_objects_in_index (OstreeRepo *self, g_variant_builder_add (&pack_contents_builder, "s", pack_checksum); objdata = g_variant_new ("(b@as)", is_loose, g_variant_builder_end (&pack_contents_builder)); - g_hash_table_replace (inout_objects, - obj_key, - g_variant_ref (objdata)); + g_variant_ref_sink (objdata); + g_hash_table_replace (inout_objects, obj_key, objdata); } ret = TRUE; -- 2.30.2